/*============================================================*
*                        SATELLITES                           *
*=============================================================*/
#define MAX_SATELLITE_NAME_LENGTH     15
#define MAX_NO_OF_SATELLITES          100

typedef struct _satellite_table_
{
   char acSatName[ MAX_SATELLITE_NAME_LENGTH+1]; /*satellite name*/
   unsigned short int  usLowLnbFreq;     /*low LNB in MKZ*/
   unsigned short int  usHighLnbFreq;    /*high LNB in MKZ for universal*/

   unsigned int  usSatelliteAngle: 11; /*usSatelliteAngle/10: interger part */
   unsigned int  iSatMotoPosition: 7;  /*save the real satellite moto position*/
   //   unsigned int  usSwapFreq:       14; /*Swap Frequency such as 11700*/
      unsigned int  usUnicableIndex:  3; /*Unicable index*/
      unsigned int  usUniFreqIndex:  4; /*unicable center freq*/
      unsigned int  usReserved:  7; /*unicable center freq*/
   union
   {
      struct
      {
         unsigned int iUniversal:   1;
                                    /*0----off
                                1----on
                               */

         unsigned int iK22Hz:       2;
                                   /*
                              0 -- off
                              1 -- on
                              2 -- Auto
                             */
         unsigned int iV12:         1;
                                    /*0---off
                               *1----on
                              */
         unsigned int iDiSEqC:      3;
                                     /*
                               000----LNB1
                               001----LNB2
                                010----LNB3
                               011----LNB4
                               100----Auto
                               */
         unsigned int iDiSEqC11_1:  5;
                                     /*
                                 000----Disable
                                 001----1
                                 010----2
                                 011----3
                                 100----4
                                     */

         unsigned int iUnicable:1;
                        /*
                        0:Unicable A
                        1:Unicable B
                        */
         unsigned int iReserved:  2;
         unsigned int iFtaOnly:     1; /*Not used now*/

         unsigned int iMotor:       2;
                                    /*
                               00--disable
                              01--DiSEqC1.2
                              10--USALS
                              11--Reserved
                              */

         unsigned int iSatDir:      1;
                                   /*satellite direction
                                     0-East
                                     1-weast
                                   */
         unsigned int iLNBPower:     3;
                                    /*
                               000--13V/18V
                              001--13V
                              010--18V
                              011--14V/19V
                              100--14V
                              101--19V
                              111 -- 0V
                              */
         unsigned int iTransponder:   8;
         unsigned int iNetWorkSearch: 1;
         unsigned int iHide:          1;
                                          /*0----NORMAL
                                  1----Hide*/

      }uiBit;
      unsigned int uiStatus;
   }uiSet;
}SATELLITE_STRUCT; /*sizeof(SATELLITE_STRUCT) = 28*/
